#pragma once

#include "Core.h"
#include "Events/Event.h"
#include "Time.h"
namespace Orange {

	class  Layer
	{
	public:
		 Layer(const std::string& name = "Layer");
		 virtual ~Layer();

		 virtual void OnAttach() {};
		 virtual void OnDetach() {};
		 virtual void OnUpdate(Time detalTime) {};
		 virtual void OnImGuiRender() {};
		 virtual void OnEvent(Event& e) {};

		inline const std::string& GetName() const { return m_DebugName; };
	protected:
		std::string m_DebugName;
	};
}

